A communication system is generally specified using a layered approach. A layer either corresponds to a protocol or can be partitioned into two or more sub-layers corresponding to a protocol each. Every protocol has specific responsibilities for the handling of information which is performed by a specific set of functions and services for the protocol. A central idea behind dividing the functionality between protocols is to achieve a more understandable model of the system and hide details in the different protocols to higher layers in the protocol stack.
An example of a mobile communication system in which layers are subdivided into sub-layers or protocols is a WCDMA (Wideband Code Division Multiple Access) system according to 3GPP (3rd Generation Partnership Project) specifications. In this system, the data link layer is subdivided into the protocols PDCP (Packet Data Convergence Protocol), BMC (Broadcast/Multicast Control), RLC (Radio Link Control) and MAC (Medium Access Control) as described in 3G TS 25.301 V 3.4.0 (3rd Generation Partnership Project).
Information units denoted as primitives are exchanged between different protocol layers to communicate with each other. The primitives are used in message sequence diagrams to illustrate the functional split between the layers and how the protocols interact with each other when a specific high level function is executed. A description of common interlayer service primitives and the interactions of different protocol layers can be found for the above protocols in 3G TS 25.303 V 3.3.0.
One example of a high level function is transmitting data between applications using a random access channel. To perform this function several protocols are involved. A random access channel (RACH) is a well-known concept for communication systems. Several users can transmit data on a RACH independent of each other which results in a risk of collision between transmissions from or to different users. In order to reduce the probability of collisions and increase the probability of successful transmissions on a RACH certain transmission rules are specified, especially waiting times delaying the transmission of data. One example of a waiting time is called a “back-off time” since the user backs off from transmitting any information on the RACH for an interval of time. Waiting times can vary in their length depending on control parameters which are selected for example according to the number of users that use the RACH, i.e. the system load, or the interference level for a radio channel.
Generally, the protocol controlling the transmissions does not indicate the duration of a channel access delay to other protocols which are thus unaware of how much delay is introduced before the transmission starts on the RACH. In a communication system according to 3GPP specifications, the control of random access transmissions is executed in the Medium Access Control (MAC) protocol as described in 3G TS 25.321 V3.3.0.
The channel access delay introduced before a transmission is started on a channel can vary considerably. This is a problem if the data transmitted on a channel originates from a protocol comprising timers, for example an ARQ (Automatic Repeat Request) protocol that includes retransmission timers. It is difficult to set proper expiry values on such timers due to the large variance of the delay introduced by the protocol layer controlling the transmission. A timer value can for example be set too large according to some worst case delay, resulting in a slower retransmission time than necessary or according to a value which is too small with a risk that the timer expires and an unnecessary retransmission is performed.
Furthermore, new data will often become available for transmission in the user equipment or a radio base station, e.g. in the RLC protocol, while the protocol controlling transmissions, e.g. MAC, is delaying a transmission of previous data. The additional data is sometimes time critical while the transmission of previous data is less urgent. When new data is ready for transmission on a higher layer, e.g. on the RLC protocol during a RACH procedure, it is not handled by the lower protocol, e.g. MAC, until the transmission procedure for the previous data has ended, i.e. when the data is transmitted on the physical layer. For example if an SMS (Short Message Service) message is sent on the RACH this will delay higher priority data such as a call set-up message until the RACH procedure for the SMS message is finished in the MAC protocol.